﻿using System;
using System.Collections.Generic;

namespace WUDI.ECharts.AngleAxis.AxisPointer
{
	/// <summary>
	/// Object
	/// axisPointer.type 为 'shadow' 时有效。
	/// </summary>
	public class ShadowStyle
	{

		/// <summary>
		/// Color
		/// 填充的颜色。
		/// 颜色可以使用 RGB 表示，比如 'rgb(128, 128, 128)'，如果想要加上 alpha 通道表示不透明度，可以使用 RGBA，比如 'rgba(128, 128, 128, 0.5)'，也可以使用十六进制格式，比如 '#ccc'。除了纯色之外颜色也支持渐变色和纹理填充
		/// // 线性渐变，前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1，相当于在图形包围盒中的百分比，如果 globalCoord 为 `true`，则该四个值是绝对的像素位置
		/// color: {
		///     type: 'linear',
		///     x: 0,
		///     y: 0,
		///     x2: 0,
		///     y2: 1,
		///     colorStops: [{
		///         offset: 0, color: 'red' // 0% 处的颜色
		///     }, {
		///         offset: 1, color: 'blue' // 100% 处的颜色
		///     }],
		///     global: false // 缺省为 false
		/// }
		/// // 径向渐变，前三个参数分别是圆心 x, y 和半径，取值同线性渐变
		/// color: {
		///     type: 'radial',
		///     x: 0.5,
		///     y: 0.5,
		///     r: 0.5,
		///     colorStops: [{
		///         offset: 0, color: 'red' // 0% 处的颜色
		///     }, {
		///         offset: 1, color: 'blue' // 100% 处的颜色
		///     }],
		///     global: false // 缺省为 false
		/// }
		/// // 纹理填充
		/// color: {
		///     image: imageDom, // 支持为 HTMLImageElement, HTMLCanvasElement，不支持路径字符串
		///     repeat: 'repeat' // 是否平铺, 可以是 'repeat-x', 'repeat-y', 'no-repeat'
		/// }
		/// </summary>
		public String color { get; set; } = "rgba(150,150,150,0.3)";

		/// <summary>
		/// number
		/// 图形阴影的模糊大小。该属性配合 shadowColor,shadowOffsetX, shadowOffsetY 一起设置图形的阴影效果。
		/// 示例：
		/// {
		///     shadowColor: 'rgba(0, 0, 0, 0.5)',
		///     shadowBlur: 10
		/// }
		/// </summary>
		public int? shadowBlur { get; set; }

		/// <summary>
		/// Color
		/// 阴影颜色。支持的格式同color。
		/// </summary>
		public String shadowColor { get; set; }

		/// <summary>
		/// number
		/// 阴影水平方向上的偏移距离。
		/// </summary>
		public int shadowOffsetX { get; set; } = 0;

		/// <summary>
		/// number
		/// 阴影垂直方向上的偏移距离。
		/// </summary>
		public int shadowOffsetY { get; set; } = 0;

		/// <summary>
		/// number
		/// 图形透明度。支持从 0 到 1 的数字，为 0 时不绘制该图形。
		/// </summary>
		public int? opacity { get; set; }

	}
}
